# 练习3
"""
需求：有一份账单文件，记录了消费收入的具体记录，内容如下：
name,date,money,type,remarks
周杰轮,2022-01-01,100000,消费,正式
周杰轮,2022-01-02,300000,收入,正式
周杰轮,2022-01-03,100000,消费,测试
林俊节,2022-01-01,300000,收入,正式
林俊节,2022-01-02,100000,消费,测试
林俊节,2022-01-03,100000,消费,正式
林俊节,2022-01-04,100000,消费,测试
林俊节,2022-01-05,500000,收入,正式
张学油,2022-01-01,100000,消费,正式
张学油,2022-01-02,500000,收入,正式
张学油,2022-01-03,900000,收入,测试
王力鸿,2022-01-01,500000,消费,正式
王力鸿,2022-01-02,300000,消费,测试
王力鸿,2022-01-03,950000,收入,正式
刘德滑,2022-01-01,300000,消费,测试
刘德滑,2022-01-02,100000,消费,正式
刘德滑,2022-01-03,300000,消费,正式
同学们可以将内容复制并保存为 bill.txt文件



读取文件
将文件写出到bill.txt.bak文件作为备份
同时，将文件内标记为测试的数据行丢弃

实现思路：
open和r模式打开一个文件对象，并读取文件
open和w模式打开另一个文件对象，用于文件写出
for循环内容，判断是否是测试不是
"""
# # 读取bil.txt中的内容
# f = open('./files/bil.txt','r',encoding='utf-8')
# res = f.read()
# f.close()
# # 写入bil.txt.bak中
# f_bak = open('./files/bil.txt.bak','w',encoding='utf-8')
# f_bak.write(res)
# f_bak.flush()



with open('./file/my_xxx.txt','r+',encoding='utf-8')as f,open('./file/my_xxx.txt.bak','w',encoding='utf-8')as f_bak:
    # 备份
    res = f.read()
    f_bak.write(res)

    # 内容删除
    s = ""
    for line in res.split('\n'):
        # 如果找不到返回-1
        if line.find('测试') == -1:
            s += line + '\n'
    
    # 回转指针
    f.seek(0)

    # 清空内容
    f.truncate()

    # 写入新内容
    f.write(s)